Stemming Architectural Erosion by Coupling Architectural Discovery and Recovery

نویسندگان

  • Nenad Medvidovic
  • Alexander Egyed
  • Paul Grünbacher
چکیده

Ideally, a software project commences with requirements gathering and specification, reaches its major milestone with system implementation and delivery, and then continues, possibly indefinitely, into an operation and maintenance phase. The software system’s architecture is in many ways the linchpin of this process: it is supposed to be an effective reification of the system’s requirements and to be faithfully reflected in the system’s implementation. Furthermore, the architecture is meant to guide system evolution, while also being updated in the process. However, in reality developers frequently deviate from the architecture, causing architectural erosion, a phenomenon in which the initial architecture of an application is (arbitrarily) modified to the point where its key properties no longer hold. In this paper, we present an approach intended to address the problem of architectural erosion by combining three complementary activities. Our approach assumes that a given system’s requirements and implementation are available, while the architecturally-relevant information either does not exist, is incomplete, or is unreliable. We combine techniques for architectural discovery from system requirements and architectural recovery from system implementations; we then leverage architectural styles to identify and reconcile any mismatches between the discovered and recovered architectural models. While promising, the approach presented in the paper is a work in progress and we discuss a number of remaining research challenges.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A literature study of architectural erosion and comparison to an industrial case in Danfoss

Software architectural erosion is a big recurring problem for every software project. It has caused increasing interest in how to detect, stop and reverse the architectural erosion. However, up until now, there have not been many attempts to obtain an extensive overview of the work in the field. In this report, we are using systematic review technique to classify and report the reasons for arch...

متن کامل

Detecting Architecture Erosion by Design Decision of Architectural Pattern

In the software architecture design, architects usually adopt many classic architectural patterns. However, such important design decisions often fail to be effectively captured in practice. The problem called “architecture erosion” may happen easily. During the design iterations, the latest design may accidentally violate the constraints implied by existing architectural patterns. During the e...

متن کامل

Maraghe Observatory and an Effort towards Retrieval of Architectural Design of Astronomical Units

Maraghe observatory was built by such engineers as Moayiededdin Orozi etc. under supervision of Khaje Nasireddin Tousi in 7th century AH. The most significant feature associated with Maraghe observatory is the fact that architecture is employed to achieve astronomical purposes in this site. The reason for preferring observatory by astronomers was the fact that these units are superior to wooden...

متن کامل

Lightweight Prevention of Architectural Erosion

Avoiding architectural erosion helps extend the lifetime of an evolving software system. Erosion can be reduced by ensuring that (i) developers share a good understanding of a system’s architecture; (ii) alignment is preserved between the architectural description and its implementation at all stages of system construction and maintenance; and (iii) architectural changes are treated with the sa...

متن کامل

Component types and communication channels recovery from Java source code

Software architecture erosion is a general problem in legacy software. Because they don’t know or don’t understand the original architectural intent, maintainers introduce changes that violate the intended architecture and properties. To fight this trend, component models and languages are designed to try to make explicit, and automatically enforceable, the architectural decisions in terms of c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003